package com.industrial.premu.service.impl;

import java.util.Date;
import java.util.List;

import com.industrial.common.core.utils.uuid.IdUtils;
import com.industrial.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.industrial.premu.mapper.PreMuUpshiftMapper;
import com.industrial.premu.domain.PreMuUpshift;
import com.industrial.premu.service.IPreMuUpshiftService;

/**
 * 加档Service业务层处理
 * 
 * @author ZHOU_S
 * @date 2024-01-24
 */
@Service
public class PreMuUpshiftServiceImpl implements IPreMuUpshiftService 
{
    @Autowired
    private PreMuUpshiftMapper preMuUpshiftMapper;

    /**
     * 查询加档
     * 
     * @param id 加档主键
     * @return 加档
     */
    @Override
    public PreMuUpshift selectPreMuUpshiftById(String id)
    {
        return preMuUpshiftMapper.selectPreMuUpshiftById(id);
    }

    /**
     * 查询加档列表
     * 
     * @param preMuUpshift 加档
     * @return 加档
     */
    @Override
    public List<PreMuUpshift> selectPreMuUpshiftList(PreMuUpshift preMuUpshift)
    {
        String district= SecurityUtils.getLoginUser().getSysUser().getDistrict();
        preMuUpshift.setCounty(district);
        return preMuUpshiftMapper.selectPreMuUpshiftList(preMuUpshift);
    }

    /**
     * 新增加档
     * 
     * @param preMuUpshift 加档
     * @return 结果
     */
    @Override
    public int insertPreMuUpshift(PreMuUpshift preMuUpshift)
    {
        String district= SecurityUtils.getLoginUser().getSysUser().getDistrict();
      /*  PreMuUpshift preMuUpshiftSelect=new PreMuUpshift();
        preMuUpshiftSelect.setCounty(district);
        preMuUpshiftSelect.setEnterType(preMuUpshift.getEnterType());
        List<PreMuUpshift>  list=preMuUpshiftMapper.selectPreMuUpshiftList(preMuUpshiftSelect);
      if(list!=null&&list.size()!=0){
          Integer upshiftNoMax = list.stream().map(a -> {
              String upshiftNo = a.getUpshiftNo();
              return Integer.valueOf(upshiftNo);
          }).max(Integer::compare).get();
          preMuUpshift.setUpshiftNo(String.valueOf(upshiftNoMax+1));
      }else{
          preMuUpshift.setUpshiftNo("1");
      }*/
        preMuUpshift.setCounty(district);
        preMuUpshift.setId(IdUtils.simpleUUID());
        preMuUpshift.setBaseCreateTime(new Date());
        return preMuUpshiftMapper.insertPreMuUpshift(preMuUpshift);
    }

    /**
     * 修改加档
     * 
     * @param preMuUpshift 加档
     * @return 结果
     */
    @Override
    public int updatePreMuUpshift(PreMuUpshift preMuUpshift)
    {
        return preMuUpshiftMapper.updatePreMuUpshift(preMuUpshift);
    }

    /**
     * 批量删除加档
     * 
     * @param ids 需要删除的加档主键
     * @return 结果
     */
    @Override
    public int deletePreMuUpshiftByIds(String[] ids)
    {
        return preMuUpshiftMapper.deletePreMuUpshiftByIds(ids);
    }

    /**
     * 删除加档信息
     * 
     * @param id 加档主键
     * @return 结果
     */
    @Override
    public int deletePreMuUpshiftById(String id)
    {
        return preMuUpshiftMapper.deletePreMuUpshiftById(id);
    }
}
